// pages/teacher/browse-test/index.js
import { Serve } from '../../../utils/index'
Page({
	/**
	 * 页面的初始数据
	 */
	data: {
		tests: [],
		records: [],
	},

	async showRecords(e) {
		const { id } = e.currentTarget.dataset
		wx.showLoading({ title: '获取答题记录', mask: true })
		const records = await Serve.GetTestRecords(id)
    if (!records.length) {
      wx.showToast({ title: '此题还没有人作答', mask: true, icon: 'none', duration: 700 })
      return 0
    }
		this.setData({ records: records })
		wx.hideLoading()
	},

	backToBrowse() {
		this.setData({ records: [] })
	},

	async toEvaluate(e) {
		const { testid, openid } = e.currentTarget.dataset
		wx.navigateTo({
			url: `/pages/teacher/evaluate/index?test_id=${testid}&openid=${openid}`,
		})
	},

	/**
	 * 生命周期函数--监听页面加载
	 */
	async onLoad(options) {
    // 通过路由传参来确定是测试题还是实验报告
    const { type } = options
    // 1为实验报告 2为测试题
		wx.showLoading({ title: '获取创建的测试', mask: true })
		const result = await Serve.GetTestsTeacher()
		let testCategorizeByClass = []
		let categorise = new Set()
		// 通过Set来取到没有重复的班级名
		result.forEach((test) => {
			categorise.add(test.class_name)
		})
		categorise = Array.from(categorise)
		for (let i = 0; i < categorise.length; i++) {
			const key = categorise[i]
			const value = []
			result.forEach((t) => {
        if (type == 1) {
          // 实验报告
          if (t.class_name === key && t.has_file) {
            value.push(t)
          }
        } else {
          // 测试题
          if (t.class_name === key && !t.has_file) {
            value.push(t)
          }
        }
			})
			testCategorizeByClass.push({ key, value })
			this.setData({ tests: result, testCategorizeByClass })
		}

		wx.hideLoading()
	},

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady() {},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow() {},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide() {},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload() {},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh() {},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom() {},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage() {},
})
